As the popularity of multi-window web-based applications increases, users are demanding increased sophistication in the way their web browsers and implemented applications handle multi-window behaviors. Users are increasingly expecting their web application user experience to match their user experience with traditional installed applications. With the increasing popularity of wireless, full function mobile devices, e.g., netbooks, tablet and “pad” devices, the need for satisfying web-based applications is further increasing.
One problem that can occur when trying to approximate the user interface of a non-web application with a web application is the latency that comes from network-based functions. That is, when an interface item loads in a web interface, instead of being displayed virtually instantaneously, as with a locally installed application, a user has to wait for an interface item to load. Another problem that can occur relates to the elements used to layout a web page, e.g., HyperText Markup Language (HTML) elements.
Over the years, different approaches have been taken to give web applications interface features similar to non-web based applications. One key feature developed to help web applications simulate traditional interfaces is the use of multiple windows. The latency and layout element problems noted above, however, can significantly affect the user experience when multiple windows are used.
Problems can be even more pronounced when multiple windows include references to dynamic client-side web content, such as JavaScript. In some circumstances, inefficiencies in current approaches can cause large portions of application logic to require reloading on the client before use. This content can often be large in size, e.g., over one megabyte, and cause latency issues. In addition, current approaches mandate that the state of a window be reloaded. This reloading causes extra latency in window performance and potentially interrupting the flow of the web application.
Weaknesses in current approaches to multi-window applications require both improved coding structures and mechanisms for using the new structures that do not cause backward compatibility issues. Countless websites have been designed that rely upon aspects of current multi-window approaches, and these sites should not be negatively affected by solutions.
What is needed are improved windowing elements that allow multi-window applications to have the advantages of traditional approaches while minimizing the weaknesses, including potential issues of backward compatibility.